Symbolic Performance Prediction of Data-Dependent Parallel Programs
نویسندگان
چکیده
Analytically predicting the performance of data-dependent programs is an extremely challenging problem. Even for a fixed problem size the variety of typical input data sets may cause a considerable execution time variance. Especially for time-critical applications, merely predicting the mean execution time does not suffice and knowledge of the execution time distribution is essential. In this paper we present a compositional analytic method to approximate the first four statistical moments of the program execution time in terms of the first four moments of the loop bounds, the branch conditions, and the execution time delays of the constituent tasks. The approach applies to sequential and parallel programs of which the associated DAG has a series-parallel structure. For each binary or N -ary sequential, parallel, or conditional composition the solution complexity is merely O(1). The method is exact for sequential and conditional composition. Furthermore, for N -ary parallel compositions experimental results of synthetic and real workloads show that the actual prediction error of the moments method is in the percent range. The analytic method is implemented in terms of the performance modeling language Pamela. Apart from the theory, in this paper we also present a symbolic Pamela compiler. Provided with a Pamela process model of the (parallel) program, the Pamela compiler symbolically translates this source to closed-form expressions that express the first four moments of the program execution time.
منابع مشابه
Symbolic Performance Modeling of Parallel Systems
Performance prediction is an important engineering tool that provides valuable feedback on design choices in program synthesis and machine architecture development. We present an analytic performance modeling approach aimed to minimize prediction cost, while providing a prediction accuracy that is sufficient to enable major code and data mapping decisions. Our approach is based on a performance...
متن کاملSymbolic Cost Estimation of Parallel Applications
Symbolic cost models are an important performance engineering tool because of their diagnostic value and their very low solution cost when the computation features regularity. However, especially for parallel applications their derivation, including the symbolic simplifications essential for low solution cost, is an effort-intensive and error-prone process. We present a tool that automatically ...
متن کاملToward Symbolic Performance Prediction of Parallel Programs
Critical analyses in performance estimators for parallel programs require an algorithm that count the number of integer solutions to a set of inequalities. Most current performance estimators are restricted to linear inequalities for this analysis. In this paper we describe a symbolic algorithm which can estimate the number of integer solutions to a set of both linear and non-linear inequalitie...
متن کاملDynamic Performance Prediction for Scalable Parallel Computing
Performance prediction is necessary in order to deal with multi-dimensional performance eeects on parallel systems. The compiler-generated analytical model developed in this paper accounts for the eeects of cache behavior, CPU execution time and message passing overhead for real programs written in high level data-parallel languages. The performance prediction technique is shown to be eeective ...
متن کاملAutomatic Cost Estimation of High-Performance Applications
In high-performance computing symbolic cost estimation is an important engineering tool that allows rapid insight in the performance effects of coding or data partitioning alternatives. In this paper we present an automatic cost estimator that compiles data parallel programs into symbolic performance models of very low solution complexity. With minimal program annotation by the user, symbolic c...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002